package com.mes.cloud.dto;

import com.mes.cloud.util.ExcelAttribute;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.sql.Timestamp;

/**
 * <BC_Filed基础表>
 *
 * @author xhy
 * @version 1.0
 * @date 2019/05/09 16:00
 */
@ApiModel(value = "BmeBcFiledDTO", description = "BmeBcFiledDTO信息")
@Data
public class BmeBcFiledDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @NotNull
    @ApiModelProperty(value = "编号", dataType = "String")
    @ExcelAttribute(name = "编号", column = "A")
    private String id;

    /***启用*/
    @ApiModelProperty(value = "启用", dataType = "Long")
    @ExcelAttribute(name = "启用", column = "B")
    private Long isEnable;
    /**
     * 状态
     */
    @ApiModelProperty(value = "状态", dataType = "Long")
    @ExcelAttribute(name = "状态", column = "C")
    private Long status;

    /**
     * 状态
     */
    @ApiModelProperty(value = "排序", dataType = "Long")
    private Long sort;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称", dataType = "String")
    @ExcelAttribute(name = "名称", column = "D")
    private String name;
    /**
     * 分类
     */
    @ApiModelProperty(value = "分类", dataType = "String")
    @ExcelAttribute(name = "分类", column = "E")
    private String type;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", dataType = "String")
    @ExcelAttribute(name = "备注", column = "F")
    private String ds;
    /**
     * 是否展示列表
     */
    @ApiModelProperty(value = "展示列表", dataType = "Long")
    @ExcelAttribute(name = "展示列表", column = "G")
    private Long isList;
    /**
     * 是否展示修改
     */
    @ApiModelProperty(value = "展示修改", dataType = "Long")
    @ExcelAttribute(name = "展示修改", column = "H")
    private Long isUpdate;
    /**
     * 是否展示添加
     */
    @ApiModelProperty(value = "展示添加", dataType = "Long")
    @ExcelAttribute(name = "展示添加", column = "I")
    private Long isAdd;
    /**
     * 是否展示详情
     */
    @ApiModelProperty(value = "展示详情", dataType = "Long")
    @ExcelAttribute(name = "展示详情", column = "J")
    private Long isDetail;



    /**
     * 校验
     */
    @ApiModelProperty(value = "校验", dataType = "String")
    @ExcelAttribute(name = "校验", column = "K")
    private String validation;
    /**
     * 主键是否自增
     */
    @ApiModelProperty(value = "主键是否自增", dataType = "String")
    @ExcelAttribute(name = "主键是否自增", column = "L")
    private String extra;
    /**
     * 是否主键
     */
    @ApiModelProperty(value = "是否主键", dataType = "String")
    @ExcelAttribute(name = "是否主键", column = "M")
    private String isPk;
    /**
     * 前端定义名称
     */
    @ApiModelProperty(value = "定义名称", dataType = "String")
    @ExcelAttribute(name = "定义名称", column = "N")
    private String field;
    /**
     * 栏位名称
     */
    @ApiModelProperty(value = "栏位名称", dataType = "String")
    @ExcelAttribute(name = "栏位名称", column = "O")
    private String colunm;
    /**
     * 客制类型
     */
    @ApiModelProperty(value = "客制类型", dataType = "String")
    @ExcelAttribute(name = "客制类型", column = "P")
    private String fieldCustomType;
    /**
     * 链接
     */
    @ApiModelProperty(value = "链接", dataType = "String")
    @ExcelAttribute(name = "链接", column = "Q")
    private String fieldJoin;
    /**
     * 字段类型
     */
    @ApiModelProperty(value = "字段类型", dataType = "String")
    @ExcelAttribute(name = "字段类型", column = "R")
    private String fieldType;
    /**
     * 字段长度
     */
    @ApiModelProperty(value = "字段长度", dataType = "String")
    @ExcelAttribute(name = "字段长度", column = "S")
    private String fieldLength;
    /**
     * 小数点位数
     */
    @ApiModelProperty(value = "小数点位数", dataType = "Long")
    @ExcelAttribute(name = "小数点位数", column = "T")
    private Long fieldPrecision;
    /**
     * 默认值
     */
    @ApiModelProperty(value = "默认值", dataType = "String")
    @ExcelAttribute(name = "默认值", column = "U")
    private String fieldDefault;
    /**
     * pickbc
     */
    @ApiModelProperty(value = "取值BC", dataType = "String")
    @ExcelAttribute(name = "pickbc", column = "V")
    private String fieldPickbc;
    /**
     * 约束
     */
    @ApiModelProperty(value = "约束", dataType = "String")
    @ExcelAttribute(name = "约束", column = "W")
    private String fieldConstraint;
    /**
     * 计算公式
     */
    @ApiModelProperty(value = "计算公式", dataType = "String")
    @ExcelAttribute(name = "计算公式", column = "X")
    private String calculation;
    /**
     * 父编号
     */
    @NotNull
    @ApiModelProperty(value = "父编号", dataType = "String")
    @ExcelAttribute(name = "父编号", column = "Y")
    private String pid;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", dataType = "String")
    @ExcelAttribute(name = "创建人", column = "Z")
    private String crtby;
    /**
     * 创时间
     */
    @ApiModelProperty(value = "创建时间", dataType = "Timestamp")
    @ExcelAttribute(name = "创建时间", column = "AA")
    private Timestamp crtdate;
    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人", dataType = "String")
    @ExcelAttribute(name = "修改人", column = "AB")
    private String updby;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间", dataType = "Timestamp")
    @ExcelAttribute(name = "修改时间", column = "AC")
    private Timestamp upddate;
    /**
     * pickname
     */
    private String pickname;

    /**
     * 是否展示添加
     */
    @ApiModelProperty(value = "是否必填", dataType = "Long")
    private Long isRequired;


    /**
     * is_generate
     */
    @ApiModelProperty(value = "is_generate", dataType = "String")
    private Long isGenerate;

    /**
     * code_id
     */
    @ApiModelProperty(value = "code_id", dataType = "String")
    private Long codeId;

}
